enum RequestMethod {
    GET = 'GET',
    POST = 'POST',
}

interface Params {
    [key: string]: string | number | boolean;
}

interface RequestOptions {
    url: string
    method: RequestMethod
    data?: any
    headers?: any
    timeout: number
}

interface RequestRunner extends RequestOptions {
    success: (response: any) => void
    fail: (error: any) => void
}

interface ResponseResult<T=unknown> {
    status: number,
    message: string,
    data: T,
}
